/**
 * 
 */
package net.kaizhong.excel;

import java.io.File;
import java.io.OutputStream;
import java.util.List;

/**
 * @author huqifeng
 *
 */
public interface ExcelOperateService<T> {

    public static Integer MAX_DATA_SIZE = 5000;

    /**
     * 通用导出数据到excel文件
     * 
     * @param sheetName
     *            导出excel的sheet页签名称
     * @param dataList
     *            导出到excel的数据集合
     * @param out
     *            导出文件输出流
     * @throws Exception
     */
    public void exportExcel(String sheetName, List<T> dataList, OutputStream out) throws Exception;

    /**
     * 通用从excel文件导入数据
     * 
     * @param srcFile
     *            导入文件
     * @param pojoClass
     *            导入对象类型
     * @param hasTitle
     *            是否包含标题行
     * @return
     * @throws Exception
     */
    public List<T> importExcel(File srcFile, Class<T> pojoClass, boolean hasTitle) throws Exception;
}
